Skip to content

feat: iframe-based app onboarding as a temporary integration path#15

Merged
oto-macenauer-absa merged 1 commit into
masterfrom
feature/iframe-onboarding
Jul 3, 2026
Merged

feat: iframe-based app onboarding as a temporary integration path#15
oto-macenauer-absa merged 1 commit into
masterfrom
feature/iframe-onboarding

Conversation

@oto-macenauer-absa

Copy link
Copy Markdown
Collaborator

Implements #10.

Adds a lightweight iframe onboarding mode so teams can appear in the marketplace with a single URL — no headless package, marketplace.json, or release artifact. An explicit temporary stopgap.

Changes

  • Registry (apps.json): new "type": "iframe" + "url" entry type; optional "temporary": true. repo/marketplace.json/artifact not required.
  • Loader (src/utils/apps.js): getAppPages emits a single route per iframe entry.
  • Route (src/pages/[...path].astro): renders a full-viewport sandboxed <iframe> inside the marketplace chrome (standalone) or full-height (headless/embedded). Packaged apps unchanged.
  • Catalogue (AppCard.astro + marketplace.css): External badge on iframe cards.
  • Build (scripts/build-vite.js): iframe entries skip fetch/build + asset steps; up-front registry validation; warns on temporary; counts iframe apps in the summary.
  • Docs: README registry section + HEADLESS_RULES.md note (temporary nature; external site must allow embedding).

Tests

Registers a third iframe app in the test registry; build-integrity.spec.js adds an iframe onboarding suite (route renders <iframe src=…>, no packaged pages, External badge, packaged apps unaffected). Local: embedded 25 passed, standalone 14 passed.

Acceptance criteria

  • apps.json accepts "type": "iframe" + "url"
  • renders a full-viewport <iframe> in the chrome at /knowledge-base/{slug}/
  • catalogue card with an "External" badge
  • existing headless apps unaffected
  • registry validation handles the new fields
  • "temporary": true flag (warned at build time)
  • HEADLESS_RULES.md updated

Closes #10

🤖 Generated with Claude Code

Add an iframe onboarding mode so teams can be listed in the marketplace with a
single URL, without a headless package/release artifact. Explicit stopgap.

- apps.json: new "type": "iframe" + "url" entry type (no repo/marketplace.json/
  artifact required); optional "temporary": true to flag entries for migration.
- src/utils/apps.js: getAppPages emits a single route per iframe entry.
- src/pages/[...path].astro: renders a full-viewport <iframe> inside the
  marketplace chrome (standalone) or full-height (headless/embedded); packaged
  apps are unchanged.
- src/components/AppCard.astro + marketplace.css: "External" badge on iframe
  cards in the catalogue.
- scripts/build-vite.js: skip iframe entries in artifact/asset steps; validate
  registry entries (iframe requires url; packaged requires a source); warn on
  temporary entries; include iframe apps in the summary count.
- Tests: register a third (iframe) app in the test registry; build-integrity
  covers the iframe route, the External badge, no packaged pages, and that
  packaged apps are unaffected.
- Docs: README registry section + HEADLESS_RULES.md note (temporary nature,
  cross-origin embedding requirement).

Closes #10

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@oto-macenauer-absa oto-macenauer-absa merged commit 4936c5a into master Jul 3, 2026
9 of 10 checks passed
@oto-macenauer-absa oto-macenauer-absa deleted the feature/iframe-onboarding branch July 3, 2026 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: iFrame-based app onboarding as a temporary integration path

1 participant